#ifndef SCHEDULE_H
#define SCHEDULE_H


#include "thread.h"
#include "taask.h"

#define MAX_SCHEDULE_LIST_SIZE	10
//timer slice cycle suport
typedef struct{
    unsigned int head, tail;
    TCB * list[MAX_SCHEDULE_LIST_SIZE];
}shedule_list;

void PostReadylist(TCB *p_tcb);
TCB *GetCurrentTcb();
thread_data * GetCurrentTaaskThread();

void start_schedule();
#if 0
void switch_task_by_timeout();
void suspend_task(thread_data *thread);
void resume_task(thread_data *thread);
#endif
void timer_schedule();

void trap_stat_check();

#endif
